The Balances pallet itself does not have logic which allows for a max supply of the token.
In fact, the Balances pallet has no logic which itself automatically increases or decreases the total balance in the system. Only functions / APIs which can be called by other runtime logic.
Instead, if you want to program some hard cap, you should modify whatever system is minting new tokens on your chain, and before you mint tokens, check the current total supply, and only mint so that you do not go over your max value. But you will need to do this external to the balances pallet.
Using the staking module and balances pallet together, there is no way to do this as far as I know since these two are meant to work together in a no-fixed-supply way.
You could create a new staking pallet which manages such a check, or just have no staking pallet at all.